--必须在这个位置定义PROJECT和VERSION变量
--PROJECT：ascii string类型，可以随便定义，只要不使用,就行
--VERSION：ascii string类型，如果使用Luat物联云平台固件升级的功能，必须按照"X.X.X"定义，X表示1位数字；否则可随便定义
PROJECT = "EMERGENCY_LIGHTS_VIBRATION_FUNCTION"
VERSION = "1.0.1"

--根据固件判断模块类型
moduleType = string.find(rtos.get_version(),"8955") and 2 or 4

--加载日志功能模块，并且设置日志输出等级
--如果关闭调用log模块接口输出的日志，等级设置为log.LOG_SILENT即可

require "log"
LOG_LEVEL = log.LOGLEVEL_TRACE

require "sys"

require "net"
require "pins"
--喇叭设置高电平设为静音
pins.setup(pio.P0_9,1)--静音设置（高电平静音）
--pins.setup(pio.p0_22,1)
--每1分钟查询一次GSM信号强度
--每1分钟查询一次基站信息
net.startQueryAll(60000, 60000)

--开机启动SIM卡热插拔功能
--ril.request("AT+CSDT=1")


--此处关闭RNDIS网卡功能
--否则，模块通过USB连接电脑后，会在电脑的网络适配器中枚举一个RNDIS网卡，电脑默认使用此网卡上网，导致模块使用的sim卡流量流失
--如果项目中需要打开此功能，把ril.request("AT+RNDISCALL=0,1")修改为ril.request("AT+RNDISCALL=1,1")即可
--注意：core固件：V0030以及之后的版本、V3028以及之后的版本，才以稳定地支持此功能
ril.request("AT+RNDISCALL=0,1")
--ril.request("AT+IFC=2,2")

--加载硬件看门狗功能模块
--根据自己的硬件配置决定：1、是否加载此功能模块；2、配置Luat模块复位单片机引脚和互相喂狗引脚
--合宙官方出售的Air201开发板上有硬件看门狗，所以使用官方Air201开发板时，必须加载此功能模块
--如果用的是720 4g模块，请注释掉这两行
--require "wdt"
--wdt.setup(pio.P0_30, pio.P0_31)


--加载网络指示灯功能模块
--根据自己的项目需求和硬件配置决定：1、是否加载此功能模块；2、配置指示灯引脚
--合宙官方出售的Air800和Air801开发板上的指示灯引脚为pio.P0_28，其他开发板上的指示灯引脚为pio.P1_1
require "netLed"
pmd.ldoset(15, pmd.LDO_VLCD)
netLed.setup(true, pio.P0_4, pio.P0_1)
netLed.updateBlinkTime("IDLE", 500, 500)
netLed.updateBlinkTime("SIMERR", 0, 0xFFFF)
netLed.updateBlinkTime("GSM", 500, 500)
netLed.updateBlinkTime("SCK", 500, 500)
netLed.updateBlinkTime("GPRS", 500, 500)
netLed.updateBlinkTime("FLYMODE", 0, 0xFFFF)
--netLed.setup(true,moduleType == 2 and pio.P1_1 or pio.P2_0,moduleType == 2 and nil or pio.P2_1)--自动判断2/4g默认网络灯引脚配置
--网络指示灯功能模块中，默认配置了各种工作状态下指示灯的闪烁规律，参考netLed.lua中ledBlinkTime配置的默认值
--如果默认值满足不了需求，此处调用netLed.updateBlinkTime去配置闪烁时长

--加载错误日志管理功能模块【强烈建议打开此功能】
--如下2行代码，只是简单的演示如何使用errDump功能，详情参考errDump的api
require "errDump"
errDump.request("udp://ota.airm2m.com:9072")

--加载远程升级功能模块【强烈建议打开此功能】
--如下3行代码，只是简单的演示如何使用update功能，详情参考update的api以及demo/update
PRODUCT_KEY = "bXTMVPoPGuf8g8R4ebz3Yx7sTwegf9jO"
require "update"
update.request()

--加载系统工具
require "misc"
require "utils"
require "patch"

--最新版本存储
require "latestVersionStorage"
--自动注册
--require "registerAutoTask"
--加载设定设备编号模块
require "getNewClientNo"
--加载MQTT功能测试模块
--require "mqttTask"
--httptest
--require "testHttp"
--基站定位
require "getLbsLoc"

--守护程序
require "mqttTaskCMD"
--串口通信
require "uartTask"
-- 开机指示灯PWR-LED模块开机指示
require "powerOnIndicator"
--网络授时
require "networkTiming"
require "registerTask"
--台网中心心跳
--require "heartbeatNetCenter"
--日志删除每天0时执行
require "delGeneratorFlie"
--sim卡热拔插
require "hotPlugSIM"
--启动系统框架
sys.init(0, 0)
sys.run()
